package org.ace.dao.model;

import java.io.Serializable;

import org.ace.basicdata.model.PlayerBasicData;
import org.ace.constans.GameConstans;

public class Player implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 玩家角色id
     */
    private Integer userid;

    /**
     * 账号id
     */
    private Integer id;

    /**
     * 角色昵称
     */
    private String username;

    /**
     * 角色职业
     */
    private Integer userjob;

    /**
     * 色角等级
     */
    private Integer lv;

    /**
     * 角色所在地图
     */
    private Integer map;

    /**
     * 角色地图x坐标
     */
    private Float x;

    /**
     * 角色地图Y坐标
     */
    private Float y;

    /**
     * 角色地图z坐标
     */
    private Float z;

    /**
     * 当前角色经验
     */
    private Integer exp;

    /**
     * 当前攻击力
     */
    private Integer atk;

    /**
     * 当前防御力
     */
    private Integer def;

    /**
     * 当前Hp
     */
    private Integer hp;

    /**
     * 当前法力值
     */
    private Integer mp;

    /**
     * 最大法力值
     */
    private Integer mpmax;

    /**
     * 最大生命值
     */
    private Integer hpmax;

    /**
     * 角色金币
     */
    private Integer money;

    /**
     * 角色体力值
     */
    private Integer energy;

    /**
     * 色角元宝
     */
    private Integer gold;

    /**
     * 角色装备
     */
    private byte[] equipment;

    
    public Player(){
    	
    }
    
    /*
     * 对数据库实体对象初始化赋值,从配置文件转换过来的实体模型，或者是其他数据的到的
     * */
    public Player(PlayerBasicData data){
    	this.userjob = data.getGdCode();
    	this.atk = data.getAtkBase();
    	this.def = data.getDefBase();
    	this.lv = GameConstans.DEFAULT_LEVEL;
    	this.exp = 0;
    	this.hp = data.getHpBase();
    	this.hpmax = data.getHpBase();
    	this.mp = data.getMpBase();
    	this.mpmax = data.getMpBase();
    	this.map = GameConstans.DEFAULT_MAP;
    	this.money = GameConstans.DEFAULT_MONEY;
    	this.gold = GameConstans.DEFAULT_GOLD;
    	this.energy = GameConstans.DEFAULT_ENERGY_MAX;
    	this.x = GameConstans.DEFAULT_X;
    	this.y = GameConstans.DEFAULT_Y;
    	this.z = GameConstans.DEFAULT_Z;
    }
    /**
     * @return 玩家角色id
     */
    public Integer getUserid() {
        return userid;
    }

    /**
     * @param userid 玩家角色id
     */
    public void setUserid(Integer userid) {
        this.userid = userid;
    }

    /**
     * @return 账号id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id 账号id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * @return 角色昵称
     */
    public String getUsername() {
        return username;
    }

    /**
     * @param username 角色昵称
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * @return 角色职业
     */
    public Integer getUserjob() {
        return userjob;
    }

    /**
     * @param userjob 角色职业
     */
    public void setUserjob(Integer userjob) {
        this.userjob = userjob;
    }

    /**
     * @return 色角等级
     */
    public Integer getLv() {
        return lv;
    }

    /**
     * @param lv 色角等级
     */
    public void setLv(Integer lv) {
        this.lv = lv;
    }

    /**
     * @return 角色所在地图
     */
    public Integer getMap() {
        return map;
    }

    /**
     * @param map 角色所在地图
     */
    public void setMap(Integer map) {
        this.map = map;
    }

    /**
     * @return 角色地图x坐标
     */
    public Float getX() {
        return x;
    }

    /**
     * @param x 角色地图x坐标
     */
    public void setX(Float x) {
        this.x = x;
    }

    /**
     * @return 角色地图Y坐标
     */
    public Float getY() {
        return y;
    }

    /**
     * @param y 角色地图Y坐标
     */
    public void setY(Float y) {
        this.y = y;
    }

    /**
     * @return 角色地图z坐标
     */
    public Float getZ() {
        return z;
    }

    /**
     * @param z 角色地图z坐标
     */
    public void setZ(Float z) {
        this.z = z;
    }

    /**
     * @return 当前角色经验
     */
    public Integer getExp() {
        return exp;
    }

    /**
     * @param exp 当前角色经验
     */
    public void setExp(Integer exp) {
        this.exp = exp;
    }

    /**
     * @return 当前攻击力
     */
    public Integer getAtk() {
        return atk;
    }

    /**
     * @param atk 当前攻击力
     */
    public void setAtk(Integer atk) {
        this.atk = atk;
    }

    /**
     * @return 当前防御力
     */
    public Integer getDef() {
        return def;
    }

    /**
     * @param def 当前防御力
     */
    public void setDef(Integer def) {
        this.def = def;
    }

    /**
     * @return 当前Hp
     */
    public Integer getHp() {
        return hp;
    }

    /**
     * @param hp 当前Hp
     */
    public void setHp(Integer hp) {
        this.hp = hp;
    }

    /**
     * @return 当前法力值
     */
    public Integer getMp() {
        return mp;
    }

    /**
     * @param mp 当前法力值
     */
    public void setMp(Integer mp) {
        this.mp = mp;
    }

    /**
     * @return 最大法力值
     */
    public Integer getMpmax() {
        return mpmax;
    }

    /**
     * @param mpmax 最大法力值
     */
    public void setMpmax(Integer mpmax) {
        this.mpmax = mpmax;
    }

    /**
     * @return 最大生命值
     */
    public Integer getHpmax() {
        return hpmax;
    }

    /**
     * @param hpmax 最大生命值
     */
    public void setHpmax(Integer hpmax) {
        this.hpmax = hpmax;
    }

    /**
     * @return 角色金币
     */
    public Integer getMoney() {
        return money;
    }

    /**
     * @param money 角色金币
     */
    public void setMoney(Integer money) {
        this.money = money;
    }

    /**
     * @return 角色体力值
     */
    public Integer getEnergy() {
        return energy;
    }

    /**
     * @param energy 角色体力值
     */
    public void setEnergy(Integer energy) {
        this.energy = energy;
    }

    /**
     * @return 色角元宝
     */
    public Integer getGold() {
        return gold;
    }

    /**
     * @param gold 色角元宝
     */
    public void setGold(Integer gold) {
        this.gold = gold;
    }

    /**
     * @return 角色装备
     */
    public byte[] getEquipment() {
        return equipment;
    }

    /**
     * @param equipment 角色装备
     */
    public void setEquipment(byte[] equipment) {
        this.equipment = equipment;
    }
    
}